import request from '@/utils/request'
import { praseStrEmpty } from "@/utils/tools";

/**
 * @description 查询用户列表
 * */
export function listUser(query) {
  return request({
    url: '/user',
    method: 'get',
    params: query
  })
}

/**
 * @description 查询用户详细
 * */
export function getUser(id) {
  return request({
    url: '/user/' + id,
    method: 'get'
  })
}

/**
 * @description 查询用户详细
 * */
export function getInfo(id) {
  return request({
    url: '/getInfo',
    method: 'get'
  })
}

/**
 * @description 新增用户
 * */
export function addUser(data) {
  return request({
    url: '/user',
    method: 'post',
    data
  })
}

/**
 * @description 修改用户
 * */
export function updateUser(data) {
  return request({
    url: '/user',
    method: 'put',
    data: data
  })
}

/**
 * @description 删除用户
 * */
export function delUser(ids) {
  return request({
    url: '/user',
    method: 'delete',
    data: ids
  })
}

/**
 * @description 用户密码重置
 * */
export function resetUserPwd(id, data) {
  return request({
    url: '/user/reset/' + id,
    method: 'put',
    data
  })
}

/**
 * @description 查询用户个人信息
 * */
export function getUserProfile() {
  return request({
    url: '/profile',
    method: 'get'
  })
}

/**
 * @description 修改用户个人信息
 * */
export function updateUserProfile(data) {
  return request({
    url: '/profile',
    method: 'put',
    data: data
  })
}

/**
 * @description 用户修改密码
 * */
export function updateUserPwd(data) {
  return request({
    url: '/profile/updatePwd',
    method: 'put',
    data
  })
}

// 用户头像上传
export function uploadAvatar(data) {
  return request({
    url: '/system/user/profile/avatar',
    method: 'post',
    data: data
  })
}

// 下载用户导入模板
export function importTemplate() {
  return request({
    url: '/system/user/importTemplate',
    method: 'get'
  })
}

// 查询授权角色
export function getAuthRole(userId) {
  return request({
    url: '/system/user/authRole/' + userId,
    method: 'get'
  })
}

// 保存授权角色
export function updateAuthRole(data) {
  return request({
    url: '/system/user/authRole',
    method: 'put',
    params: data
  })
}
